package com.cmf.myproject.swagger;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import io.swagger.annotations.ApiOperation;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.Tag;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class SwaggerConfig {
	@Bean
    public Docket swaggerSpringMvcPlugin() {
        return new Docket(DocumentationType.SWAGGER_2)
        		.groupName("api")
        		.tags(new Tag("user", "用户"), getTags())
        		.select()
        		.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
        		.build()
        		.apiInfo(new ApiInfoBuilder().title("myproject API").build());
    }
	
	private Tag[] getTags() {
        Tag[] tags = {
            new Tag("book", "书相关的API"),
            new Tag("dog", "狗相关")
        };
        return tags;
    }
}
